package com.chushouya.order.dto.admin.message;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单消息数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderMessageDTO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 订单ID
     */
    private Long orderId;
    
    /**
     * 订单号
     */
    private String orderNo;
    
    /**
     * 下单机型id
     */
    private Long productId;
    
    /**
     * 下单型号名称
     */
    private String productName;
    
    /**
     * 订单状态
     */
    private Integer orderStatus;
    
    /**
     * 订单类型
     */
    private Integer orderType;
    
    /**
     * 订单来源
     */
    private Integer orderSource;
    
    /**
     * 评估价
     */
    private BigDecimal evaluatePrice;
    
    /**
     * 质检价格
     */
    private BigDecimal qualityPrice;
    
    /**
     * 优惠总金额
     */
    private BigDecimal bonusPrice;
    
    /**
     * 订单总额
     */
    private BigDecimal orderPrice;
    
    /**
     * 操作类型，可用于区分不同的业务操作
     * 例如：1-创建订单, 2-更新订单, 3-取消订单, 4-完成订单等
     */
    private Integer operationType;
    
    /**
     * 消息创建时间
     */
    private Date createTime;
    
    /**
     * 额外参数，可以存储一些特定场景的数据
     */
    private String extraData;
}
